﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using BusinessObjects;

namespace DataAccess.SqlServer
{
    public class SqlServerNgachLuong: INgachLuong
    {
        public NgachLuong GetNgachLuong(int oid)
        {
            string sql = @" Select MaQuanLy, TenNgachLuong
                            From NgachLuong
                            Where Oid = @Oid";
            SqlParameter param = new SqlParameter("@Oid", oid);
            DataRow row = DataProvider.GetDataRow(sql, param);

            NgachLuong ngachLuong = new NgachLuong();

            ngachLuong.Oid = oid;
            ngachLuong.MaQuanLy = row["MaQuanLy"].ToString();
            ngachLuong.TenNgachLuong = row["TenNgachLuong"].ToString();

            return ngachLuong;
        }

        public List<NgachLuong> GetListNgachLuong()
        {
            string sql = @" Select Oid, MaQuanLy, TenNgachLuong
                            From NgachLuong";

            DataTable dt = DataProvider.GetDataTable(sql);
            List<NgachLuong> list = new List<NgachLuong>();

            foreach (DataRow row in dt.Rows)
            {
                NgachLuong ngachLuong = new NgachLuong();

                ngachLuong.Oid = int.Parse(row["Oid"].ToString());
                ngachLuong.MaQuanLy = row["MaQuanLy"].ToString();
                ngachLuong.TenNgachLuong = row["TenNgachLuong"].ToString();
                list.Add(ngachLuong);
            }
            return list;
        }

        public int Insert(NgachLuong ngachLuong)
        {
            string sql = @" Insert into NgachLuong(MaQuanLy, TenNgachLuong)
                            Values(@MaQuanLy, @TenNgachLuong)";

            SqlParameter[] param = {
                                       new SqlParameter("@MaQuanLy", ngachLuong.MaQuanLy),
                                       new SqlParameter("@TenNgachLuong", ngachLuong.TenNgachLuong)
                                   };
            int id = DataProvider.Insert(sql,true, param);
            if (id > 0)
                ngachLuong.Oid = id;
            
            return id;
        }

        public int Update(NgachLuong ngachLuong)
        {
            string sql = @" Update NgachLuong
                            Set MaQuanLy = @MaQuanLy, 
                                TenNgachLuong = @TenNgachLuong
                            Where Oid = @Oid";

            SqlParameter[] param = {
                                       new SqlParameter("@Oid", ngachLuong.Oid),
                                       new SqlParameter("@MaQuanLy", ngachLuong.MaQuanLy),
                                       new SqlParameter("@TenNgachLuong", ngachLuong.TenNgachLuong)
                                   };
            return DataProvider.Update(sql, param);
        }

        public int Delete(NgachLuong ngachLuong)
        {
            string sql = @" Delete From NgachLuong Where Oid = @Oid";
            SqlParameter param = new SqlParameter("@Oid", ngachLuong.Oid);
            return DataProvider.Update(sql, param);
        }


        public int Save(NgachLuong obj)
        {
            throw new NotImplementedException();
        }
    }
}
